package com.cgnpc.scp.hse.mybatis.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cgnpc.scp.common.bean.MyPageRequest;
import com.cgnpc.scp.common.utils.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;
import java.util.List;

@TableName(value = "tbl_hse_meetinginfo")
public class HseMeetingInfo extends MyPageRequest {

    /**
     * meeting_status 会议状态；值0未开始；1已完成；2已取消；3进行中；
     */
    public static final int MEETINGSTATUS_0 = 0;

    /**
     * meeting_status 会议状态；值0未开始；1已完成；2已取消；3进行中；
     */
    public static final int MEETINGSTATUS_1 = 1;

    /**
     * meeting_status 会议状态；值0未开始；1已完成；2已取消；3进行中；
     */
    public static final int MEETINGSTATUS_2 = 2;

    /**
     * meeting_status 会议状态；值0未开始；1已完成；2已取消；3进行中；
     */
    public static final int MEETINGSTATUS_3 = 3;

    /**
     * meeting_type 会议类型；值1班前会；2工前会；
     */
    public static final int MEETINGTYPE_1 = 1;

    /**
     * meeting_type 会议类型；值1班前会；2工前会；
     */
    public static final int MEETINGTYPE_2 = 2;

    /**
     * 是否短信通知；值0不通知；1通知；
     */
    public static final int SMSNOTICE_0 = 0;

    /**
     * 是否短信通知；值0不通知；1通知；
     */
    public static final int SMSNOTICE_1 = 1;

    @TableId
    private String id;

    private String trial;

    private String teamName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date meetingStartTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date meetingEndTime;

    private String leadingUser;

    private String leadingUserName;

    private String teamSafetyUser;

    private String teamSafetyUserName;

    private Integer meetingStatus;

    private Integer meetingType;

    private String trialRegion;

    private String systemCode;

    private Integer smsNotice;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private String createUser;

    private String createUserName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastUpdateTime;

    private String lastUpdateUser;

    private String lastUpdateUserName;

    private Integer dateNotice;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date realStartTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date realEndTime;

    // begin 自定义字段
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date meetingStartTimeFrom;
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date meetingStartTimeTo;
    @TableField(exist = false)
    private List<HseMeetingUser> hseMeetingUserList;
    @TableField(exist = false)
    private List<HseMeetingFile> hseMeetingFileList;
    @TableField(exist = false)
    private List<String> ids;
    @TableField(exist = false)
    private String meetingUser;
    @TableField(exist = false)
    private List<HseCheckOptionsConfig> hseCheckOptionsConfigList;
    @TableField(exist = false)
    private List<HseCheckOptionsConfig> hseCheckOptionsConfigTreeList;
    @TableField(exist = false)
    private List<Integer> meetingStatusList;
    @TableField(exist = false)
    private String message;
    @TableField(exist = false)
    private Integer saveRows;
    @TableField(exist = false)
    private List<HseMeetingUser> hseMeetingUserShowList;
    // end 自定义字段

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getTrial() {
        return trial;
    }

    public void setTrial(String trial) {
        this.trial = trial == null ? null : trial.trim();
    }

    public String getTeamName() {
        return teamName;
    }

    public void setTeamName(String teamName) {
        this.teamName = teamName == null ? null : teamName.trim();
    }

    public Date getMeetingStartTime() {
        return DateUtil.cloneNewDate(meetingStartTime);
    }

    public void setMeetingStartTime(Date meetingStartTime) {
        this.meetingStartTime = DateUtil.cloneNewDate(meetingStartTime);
    }

    public Date getMeetingEndTime() {
        return DateUtil.cloneNewDate(meetingEndTime);
    }

    public void setMeetingEndTime(Date meetingEndTime) {
        this.meetingEndTime = DateUtil.cloneNewDate(meetingEndTime);
    }

    public String getLeadingUser() {
        return leadingUser;
    }

    public void setLeadingUser(String leadingUser) {
        this.leadingUser = leadingUser == null ? null : leadingUser.trim();
    }

    public String getLeadingUserName() {
        return leadingUserName;
    }

    public void setLeadingUserName(String leadingUserName) {
        this.leadingUserName = leadingUserName == null ? null : leadingUserName.trim();
    }

    public String getTeamSafetyUser() {
        return teamSafetyUser;
    }

    public void setTeamSafetyUser(String teamSafetyUser) {
        this.teamSafetyUser = teamSafetyUser == null ? null : teamSafetyUser.trim();
    }

    public String getTeamSafetyUserName() {
        return teamSafetyUserName;
    }

    public void setTeamSafetyUserName(String teamSafetyUserName) {
        this.teamSafetyUserName = teamSafetyUserName == null ? null : teamSafetyUserName.trim();
    }

    public Integer getMeetingStatus() {
        return meetingStatus;
    }

    public void setMeetingStatus(Integer meetingStatus) {
        this.meetingStatus = meetingStatus;
    }

    public Integer getMeetingType() {
        return meetingType;
    }

    public void setMeetingType(Integer meetingType) {
        this.meetingType = meetingType;
    }

    public String getTrialRegion() {
        return trialRegion;
    }

    public void setTrialRegion(String trialRegion) {
        this.trialRegion = trialRegion == null ? null : trialRegion.trim();
    }

    public String getSystemCode() {
        return systemCode;
    }

    public void setSystemCode(String systemCode) {
        this.systemCode = systemCode == null ? null : systemCode.trim();
    }

    public Integer getSmsNotice() {
        return smsNotice;
    }

    public void setSmsNotice(Integer smsNotice) {
        this.smsNotice = smsNotice;
    }

    public Date getCreateTime() {
        return DateUtil.cloneNewDate(createTime);
    }

    public void setCreateTime(Date createTime) {
        this.createTime = DateUtil.cloneNewDate(createTime);
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    public String getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName == null ? null : createUserName.trim();
    }

    public Date getLastUpdateTime() {
        return DateUtil.cloneNewDate(lastUpdateTime);
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = DateUtil.cloneNewDate(lastUpdateTime);
    }

    public String getLastUpdateUser() {
        return lastUpdateUser;
    }

    public void setLastUpdateUser(String lastUpdateUser) {
        this.lastUpdateUser = lastUpdateUser == null ? null : lastUpdateUser.trim();
    }

    public String getLastUpdateUserName() {
        return lastUpdateUserName;
    }

    public void setLastUpdateUserName(String lastUpdateUserName) {
        this.lastUpdateUserName = lastUpdateUserName == null ? null : lastUpdateUserName.trim();
    }

    public Integer getDateNotice() {
        return dateNotice;
    }

    public void setDateNotice(Integer dateNotice) {
        this.dateNotice = dateNotice;
    }

    public Date getRealStartTime() {
        return DateUtil.cloneNewDate(realStartTime);
    }

    public void setRealStartTime(Date realStartTime) {
        this.realStartTime = DateUtil.cloneNewDate(realStartTime);
    }

    public Date getRealEndTime() {
        return DateUtil.cloneNewDate(realEndTime);
    }

    public void setRealEndTime(Date realEndTime) {
        this.realEndTime = DateUtil.cloneNewDate(realEndTime);
    }

    public Date getMeetingStartTimeFrom() {
        return DateUtil.cloneNewDate(meetingStartTimeFrom);
    }

    public void setMeetingStartTimeFrom(Date meetingStartTimeFrom) {
        this.meetingStartTimeFrom = DateUtil.cloneNewDate(meetingStartTimeFrom);
    }

    public Date getMeetingStartTimeTo() {
        return DateUtil.cloneNewDate(meetingStartTimeTo);
    }

    public void setMeetingStartTimeTo(Date meetingStartTimeTo) {
        this.meetingStartTimeTo = DateUtil.cloneNewDate(meetingStartTimeTo);
    }

    public List<HseMeetingUser> getHseMeetingUserList() {
        return hseMeetingUserList;
    }

    public void setHseMeetingUserList(List<HseMeetingUser> hseMeetingUserList) {
        this.hseMeetingUserList = hseMeetingUserList;
    }

    public List<HseMeetingFile> getHseMeetingFileList() {
        return hseMeetingFileList;
    }

    public void setHseMeetingFileList(List<HseMeetingFile> hseMeetingFileList) {
        this.hseMeetingFileList = hseMeetingFileList;
    }

    public List<String> getIds() {
        return ids;
    }

    public void setIds(List<String> ids) {
        this.ids = ids;
    }

    public String getMeetingUser() {
        return meetingUser;
    }

    public void setMeetingUser(String meetingUser) {
        this.meetingUser = meetingUser;
    }

    public List<HseCheckOptionsConfig> getHseCheckOptionsConfigList() {
        return hseCheckOptionsConfigList;
    }

    public void setHseCheckOptionsConfigList(List<HseCheckOptionsConfig> hseCheckOptionsConfigList) {
        this.hseCheckOptionsConfigList = hseCheckOptionsConfigList;
    }

    public List<HseCheckOptionsConfig> getHseCheckOptionsConfigTreeList() {
        return hseCheckOptionsConfigTreeList;
    }

    public void setHseCheckOptionsConfigTreeList(List<HseCheckOptionsConfig> hseCheckOptionsConfigTreeList) {
        this.hseCheckOptionsConfigTreeList = hseCheckOptionsConfigTreeList;
    }

    public List<Integer> getMeetingStatusList() {
        return meetingStatusList;
    }

    public void setMeetingStatusList(List<Integer> meetingStatusList) {
        this.meetingStatusList = meetingStatusList;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Integer getSaveRows() {
        return saveRows;
    }

    public void setSaveRows(Integer saveRows) {
        this.saveRows = saveRows;
    }

    public List<HseMeetingUser> getHseMeetingUserShowList() {
        return hseMeetingUserShowList;
    }

    public void setHseMeetingUserShowList(List<HseMeetingUser> hseMeetingUserShowList) {
        this.hseMeetingUserShowList = hseMeetingUserShowList;
    }
}